function curDate() {
    // 找html元素，目标
    /**@type {HTMLElement} */
    let dateSpan = document.querySelector('.top-nav > span');
    
    if (dateSpan) {
        // 算法实现
        let myDate = new Date();
        let year = myDate.getFullYear();
        let month = myDate.getMonth() + 1;
        let date = myDate.getDate();
        let day = myDate.getDay(); // 获取星期几
        let strDay = ['日', '一', '二', '三', '四', '五', '六'];
        
        // 模板字符串使用反引号
        let strDate = `${year}年${month}月${date}日 星期${strDay[day]}`;
    
        // 结果输出
        console.log(strDate);
        dateSpan.textContent = strDate;
    } else {
        console.error('未能找到日期更新的目标元素');
    }
}

// 确保DOM已经加载完成再执行curDate()
document.addEventListener('DOMContentLoaded', function () {
    curDate();
});
/**
 * 导航菜单中的“首页”颜色控制
 */
(function navChange() {
    // 1. 找目标元素 - 获取导航条
    const mainNav = document.getElementById('mainNav');
    /** @type {HTMLElement} */
    const homePageLink = mainNav.querySelector('a[href="https://soft.ncu.edu.cn/index.htm"]');

    // 定义默认样式
    function resetHomePageStyles() {
        homePageLink.style.color = "#fff";
        homePageLink.style.backgroundColor = "#89211b";
    }

    // 2. 定义处理函数 - 当点击时执行此函数
    function handleNavClick(event) {
        // 检查是否点击了带有特定类名的元素
        if (event.target.closest('a[href="https://soft.ncu.edu.cn/index.htm"]')) {
            // 移除所有导航项的激活状态
            document.querySelectorAll('#mainNav li').forEach(item => item.classList.remove('active'));
            
            // 给被点击的导航项添加激活状态
            event.target.closest('li').classList.add('active');
        }
    }

    // 3. 添加事件监听器 - 使用事件委托以简化代码并提高性能
    if (mainNav) {
        mainNav.addEventListener('click', handleNavClick);

        // 鼠标悬停事件
        mainNav.addEventListener('mouseover', function (e) {
            /** @type {HTMLElement} */
            let choiceElement = e.target.closest('a');
            if (choiceElement && choiceElement !== homePageLink) {
                resetHomePageStyles();
            }
        });

        // 鼠标移出事件
        mainNav.addEventListener('mouseout', function () {
            if (!mainNav.contains(document.activeElement)) {
                resetHomePageStyles();
            }
        });
    }

    // 初始化样式
    resetHomePageStyles();
})();

/**
 * 宣传图轮播
 */
(function bannerMove() {
    // 轮播的实现采用定时器实现：setInterval
    let delayTime = 6000; // 6s的轮播时间
    let timer = null;
  
    /**@type {HTMLElement} */
    let target = document.querySelector(".carousel ul");
    /**@type {HTMLElement} */
    let prevButton = document.querySelector('.carousel-control.prev');
    /**@type {HTMLElement} */
    let nextButton = document.querySelector('.carousel-control.next');
  
    // 启动轮播：移动ul中的li元素
    if (target.childElementCount > 1) {
      timer = setInterval(rightMove, delayTime);
    }
  
    // 左移
    function leftMove() {
      const firstLi = target.firstElementChild;
      firstLi.style.marginLeft = "-120rem";
      firstLi.style.transition = "margin-left 0.5s"; // 更短的过渡时间，看起来更自然
      setTimeout(() => {
        firstLi.style.marginLeft = "0";
        target.appendChild(firstLi); // 将第一个元素移到最后
      }, 500); // 等待过渡完成再移动元素
    }
  
    // 右移
    function rightMove() {
      const lastLi = target.lastElementChild;
      lastLi.style.marginLeft = "120rem";
      lastLi.style.transition = "margin-left 0.5s"; // 更短的过渡时间，看起来更自然
      target.insertBefore(lastLi, target.firstElementChild); // 将最后一个元素移到最前
      setTimeout(() => {
        lastLi.style.marginLeft = "0";
      }, 500); // 等待过渡完成再重置marginLeft
    }
  
    // 鼠标相关事件处理
    prevButton.addEventListener('mouseenter', () => clearInterval(timer));
    nextButton.addEventListener('mouseenter', () => clearInterval(timer));
  
    prevButton.addEventListener('mouseleave', startTimer);
    nextButton.addEventListener('mouseleave', startTimer);
  
    prevButton.addEventListener('click', (event) => {
      event.preventDefault(); // 防止默认行为
      leftMove();
      resetTimer();
    });
  
    nextButton.addEventListener('click', (event) => {
      event.preventDefault(); // 防止默认行为
      rightMove();
      resetTimer();
    });
  
    // 重新启动定时器
    function startTimer() {
      clearInterval(timer);
      timer = setInterval(rightMove, delayTime);
    }
  
    // 重置定时器以防止快速点击导致的问题
    function resetTimer() {
      clearInterval(timer);
      timer = setInterval(rightMove, delayTime);
    }
  
    // 初始化分页点等其他功能可以根据需要添加
  
  })();